<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.4"/>
<title>cbp2make: CDependencyInfo Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">cbp2make
   </div>
   <div id="projectbrief">Makefile generation tool for Code::Blocks IDE</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.4 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="../../pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="../../namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
      <li><a href="../../files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="../../search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="../../d9/d57/classCDependencyInfo-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">CDependencyInfo Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Dependency information for build units in a project.  
 <a href="../../dc/d5e/classCDependencyInfo.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="../../d8/d7f/depsearch_8h_source.html">depsearch.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae94f6374ec681801cc8304ad3e8a4f5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/d43/classCPlatform.html">CPlatform</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#ae94f6374ec681801cc8304ad3e8a4f5e">Platform</a> (void)</td></tr>
<tr class="memdesc:ae94f6374ec681801cc8304ad3e8a4f5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Platform/OS type, generally used for creating compatible file paths.  <a href="#ae94f6374ec681801cc8304ad3e8a4f5e">More...</a><br/></td></tr>
<tr class="separator:ae94f6374ec681801cc8304ad3e8a4f5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a900762f097ed041faa74613da4ea62c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a900762f097ed041faa74613da4ea62c2">Clear</a> (void)</td></tr>
<tr class="memdesc:a900762f097ed041faa74613da4ea62c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the unit dependency database to the initial state.  <a href="#a900762f097ed041faa74613da4ea62c2">More...</a><br/></td></tr>
<tr class="separator:a900762f097ed041faa74613da4ea62c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a946c31a0b7bef21a5793e6b134978912"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a946c31a0b7bef21a5793e6b134978912">Show</a> (void)</td></tr>
<tr class="memdesc:a946c31a0b7bef21a5793e6b134978912"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print dependency information for all of build units to the standard output.  <a href="#a946c31a0b7bef21a5793e6b134978912">More...</a><br/></td></tr>
<tr class="separator:a946c31a0b7bef21a5793e6b134978912"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2e36edc053c52d6fa9da19ef293e24b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d7/da9/classCString.html">CString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#ac2e36edc053c52d6fa9da19ef293e24b">OneLineReport</a> (const size_t Index, const bool Deps, const bool XRefs)</td></tr>
<tr class="memdesc:ac2e36edc053c52d6fa9da19ef293e24b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a short string representation of dependency information.  <a href="#ac2e36edc053c52d6fa9da19ef293e24b">More...</a><br/></td></tr>
<tr class="separator:ac2e36edc053c52d6fa9da19ef293e24b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a844740f473781d070df0f41d0762eb2f"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a844740f473781d070df0f41d0762eb2f">RecordsCount</a> (void) const </td></tr>
<tr class="memdesc:a844740f473781d070df0f41d0762eb2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of dependency records.  <a href="#a844740f473781d070df0f41d0762eb2f">More...</a><br/></td></tr>
<tr class="separator:a844740f473781d070df0f41d0762eb2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd5a916dfc975667d25d9216d15a3ccf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d7/da9/classCString.html">CString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#abd5a916dfc975667d25d9216d15a3ccf">Name</a> (const size_t Index) const </td></tr>
<tr class="memdesc:abd5a916dfc975667d25d9216d15a3ccf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns name of a build unit with dependency record number <em>Index</em>.  <a href="#abd5a916dfc975667d25d9216d15a3ccf">More...</a><br/></td></tr>
<tr class="separator:abd5a916dfc975667d25d9216d15a3ccf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22150f25fecc523402af14ea5c57d104"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a22150f25fecc523402af14ea5c57d104">DirectDependenciesCount</a> (const size_t Index) const </td></tr>
<tr class="memdesc:a22150f25fecc523402af14ea5c57d104"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counts direct dependencies of a build unit with dependency record number <em>Index</em>.  <a href="#a22150f25fecc523402af14ea5c57d104">More...</a><br/></td></tr>
<tr class="separator:a22150f25fecc523402af14ea5c57d104"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a918389de5c0c99a3e69026ea0176c89e"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a918389de5c0c99a3e69026ea0176c89e">IndirectDependenciesCount</a> (const size_t Index)</td></tr>
<tr class="memdesc:a918389de5c0c99a3e69026ea0176c89e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counts only indirect dependencies of a build unit with number <em>Index</em>.  <a href="#a918389de5c0c99a3e69026ea0176c89e">More...</a><br/></td></tr>
<tr class="separator:a918389de5c0c99a3e69026ea0176c89e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd47e7cf24369dd634b509c6932f7dca"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#acd47e7cf24369dd634b509c6932f7dca">AllDependenciesCount</a> (const size_t Index)</td></tr>
<tr class="memdesc:acd47e7cf24369dd634b509c6932f7dca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the total count of dependencies of a build unit with dependency record number <em>Index</em>.  <a href="#acd47e7cf24369dd634b509c6932f7dca">More...</a><br/></td></tr>
<tr class="separator:acd47e7cf24369dd634b509c6932f7dca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00b6287cc4a978f8abfa2b1442175d24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a00b6287cc4a978f8abfa2b1442175d24">DirectDependencies</a> (const size_t Index) const </td></tr>
<tr class="memdesc:a00b6287cc4a978f8abfa2b1442175d24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of build unit names that a build unit with dependency record number <em>Index</em> depends on directly.  <a href="#a00b6287cc4a978f8abfa2b1442175d24">More...</a><br/></td></tr>
<tr class="separator:a00b6287cc4a978f8abfa2b1442175d24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51e609331ebc077d6eea5778fd8f8c8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a51e609331ebc077d6eea5778fd8f8c8b">IndirectDependencies</a> (const size_t Index)</td></tr>
<tr class="memdesc:a51e609331ebc077d6eea5778fd8f8c8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of build unit names that a build unit with dependency record number <em>Index</em> depends on indirectly.  <a href="#a51e609331ebc077d6eea5778fd8f8c8b">More...</a><br/></td></tr>
<tr class="separator:a51e609331ebc077d6eea5778fd8f8c8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02419d86ae1e14504c8657fb2d62bb4c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a02419d86ae1e14504c8657fb2d62bb4c">AllDependencies</a> (const size_t Index)</td></tr>
<tr class="memdesc:a02419d86ae1e14504c8657fb2d62bb4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a complete list of build unit names that a build unit with dependency record number <em>Index</em> depends on directly or indirectly.  <a href="#a02419d86ae1e14504c8657fb2d62bb4c">More...</a><br/></td></tr>
<tr class="separator:a02419d86ae1e14504c8657fb2d62bb4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4aa7031586c8dd2cc8dfa8ebc54dd9b2"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a4aa7031586c8dd2cc8dfa8ebc54dd9b2">DirectCrossReferencesCount</a> (const size_t Index) const </td></tr>
<tr class="memdesc:a4aa7031586c8dd2cc8dfa8ebc54dd9b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counts direct cross references to a build unit with dependency record number <em>Index</em>.  <a href="#a4aa7031586c8dd2cc8dfa8ebc54dd9b2">More...</a><br/></td></tr>
<tr class="separator:a4aa7031586c8dd2cc8dfa8ebc54dd9b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a4c4419cf30712a16bb71b2f9c7a87c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a3a4c4419cf30712a16bb71b2f9c7a87c">IndirectCrossReferencesCount</a> (const size_t Index)</td></tr>
<tr class="memdesc:a3a4c4419cf30712a16bb71b2f9c7a87c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counts indirect cross references to a build unit with dependency record number <em>Index</em>.  <a href="#a3a4c4419cf30712a16bb71b2f9c7a87c">More...</a><br/></td></tr>
<tr class="separator:a3a4c4419cf30712a16bb71b2f9c7a87c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf613223ecfb1d5decf8b38cb067ae25"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#aaf613223ecfb1d5decf8b38cb067ae25">AllCrossReferencesCount</a> (const size_t Index)</td></tr>
<tr class="memdesc:aaf613223ecfb1d5decf8b38cb067ae25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the total count of cross references of a build unit with dependency record number <em>Index</em>.  <a href="#aaf613223ecfb1d5decf8b38cb067ae25">More...</a><br/></td></tr>
<tr class="separator:aaf613223ecfb1d5decf8b38cb067ae25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1182a8d99046fc6f735576d6b55fc73"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#ac1182a8d99046fc6f735576d6b55fc73">DirectCrossReferences</a> (const size_t Index) const </td></tr>
<tr class="memdesc:ac1182a8d99046fc6f735576d6b55fc73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of build unit names that directly depend on a build unit with dependency record number <em>Index</em>.  <a href="#ac1182a8d99046fc6f735576d6b55fc73">More...</a><br/></td></tr>
<tr class="separator:ac1182a8d99046fc6f735576d6b55fc73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2a9f2ea3bc0e5f3b71603a477fc5619"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#aa2a9f2ea3bc0e5f3b71603a477fc5619">IndirectCrossReferences</a> (const size_t Index)</td></tr>
<tr class="memdesc:aa2a9f2ea3bc0e5f3b71603a477fc5619"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of build unit names that indirectly depend on a build unit with dependency record number <em>Index</em>.  <a href="#aa2a9f2ea3bc0e5f3b71603a477fc5619">More...</a><br/></td></tr>
<tr class="separator:aa2a9f2ea3bc0e5f3b71603a477fc5619"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab07c351a53409894d86e9e10f7a70f7f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#ab07c351a53409894d86e9e10f7a70f7f">AllCrossReferences</a> (const size_t Index)</td></tr>
<tr class="memdesc:ab07c351a53409894d86e9e10f7a70f7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a complete list of build unit names that depend on a build unit with dependency record number <em>Index</em> either directly or indirectly.  <a href="#ab07c351a53409894d86e9e10f7a70f7f">More...</a><br/></td></tr>
<tr class="separator:ab07c351a53409894d86e9e10f7a70f7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3325672b42de84d6043fe47c666350a0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a3325672b42de84d6043fe47c666350a0">AreDependenciesComplete</a> (const size_t Index)</td></tr>
<tr class="memdesc:a3325672b42de84d6043fe47c666350a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies if a dependency list for a build unit with dependency record number <em>Index</em> is marked as complete.  <a href="#a3325672b42de84d6043fe47c666350a0">More...</a><br/></td></tr>
<tr class="separator:a3325672b42de84d6043fe47c666350a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1ffc10e98443e562d6b8a8d7b1a869f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#ae1ffc10e98443e562d6b8a8d7b1a869f">AreCrossReferencesComplete</a> (const size_t Index)</td></tr>
<tr class="memdesc:ae1ffc10e98443e562d6b8a8d7b1a869f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies if a cross reference list for a build unit with dependency record number <em>Index</em> is marked as complete.  <a href="#ae1ffc10e98443e562d6b8a8d7b1a869f">More...</a><br/></td></tr>
<tr class="separator:ae1ffc10e98443e562d6b8a8d7b1a869f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab60680f8f1c33981e9abe0ba132d744"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#aab60680f8f1c33981e9abe0ba132d744">SetDependenciesComplete</a> (const size_t Index, const bool State=true)</td></tr>
<tr class="memdesc:aab60680f8f1c33981e9abe0ba132d744"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks a dependency list for a build unit with dependency record number <em>Index</em> as complete.  <a href="#aab60680f8f1c33981e9abe0ba132d744">More...</a><br/></td></tr>
<tr class="separator:aab60680f8f1c33981e9abe0ba132d744"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a433798f74d8db352e22dd5e4fd1268af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a433798f74d8db352e22dd5e4fd1268af">SetCrossReferencesComplete</a> (const size_t Index, const bool State=true)</td></tr>
<tr class="memdesc:a433798f74d8db352e22dd5e4fd1268af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks a cross reference list for a build unit with number <em>Index</em> as complete.  <a href="#a433798f74d8db352e22dd5e4fd1268af">More...</a><br/></td></tr>
<tr class="separator:a433798f74d8db352e22dd5e4fd1268af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3c71dc1906f859133771b4228b61c8e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#ab3c71dc1906f859133771b4228b61c8e">FindRecord</a> (const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;<a class="el" href="../../dc/d5e/classCDependencyInfo.html#abd5a916dfc975667d25d9216d15a3ccf">Name</a>)</td></tr>
<tr class="memdesc:ab3c71dc1906f859133771b4228b61c8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs dependency record lookup by a build unit name.  <a href="#ab3c71dc1906f859133771b4228b61c8e">More...</a><br/></td></tr>
<tr class="separator:ab3c71dc1906f859133771b4228b61c8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae74e0642e410f1f2364908a6030f410"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#aae74e0642e410f1f2364908a6030f410">AddRecord</a> (const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;<a class="el" href="../../dc/d5e/classCDependencyInfo.html#abd5a916dfc975667d25d9216d15a3ccf">Name</a>)</td></tr>
<tr class="memdesc:aae74e0642e410f1f2364908a6030f410"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new dependency record for the <em>Name</em> build unit.  <a href="#aae74e0642e410f1f2364908a6030f410">More...</a><br/></td></tr>
<tr class="separator:aae74e0642e410f1f2364908a6030f410"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeee41f5696f9e0952d0bb8cef3adf311"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#aeee41f5696f9e0952d0bb8cef3adf311">AddDependency</a> (const size_t Index, const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;DependencyName)</td></tr>
<tr class="memdesc:aeee41f5696f9e0952d0bb8cef3adf311"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the <em>DependencyName</em> build unit to a dependency record with number <em>Index</em>.  <a href="#aeee41f5696f9e0952d0bb8cef3adf311">More...</a><br/></td></tr>
<tr class="separator:aeee41f5696f9e0952d0bb8cef3adf311"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a927accf24328efc443082b1cf967a01a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a927accf24328efc443082b1cf967a01a">AddDependency</a> (const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;<a class="el" href="../../dc/d5e/classCDependencyInfo.html#abd5a916dfc975667d25d9216d15a3ccf">Name</a>, const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;DependencyName)</td></tr>
<tr class="memdesc:a927accf24328efc443082b1cf967a01a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the <em>DependencyName</em> build unit to a dependency record of the <em>Name</em> build unit.  <a href="#a927accf24328efc443082b1cf967a01a">More...</a><br/></td></tr>
<tr class="separator:a927accf24328efc443082b1cf967a01a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a076227951bd7f5e01db97e6e40eb5955"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a076227951bd7f5e01db97e6e40eb5955">MakeRules</a> (<a class="el" href="../../d0/d98/classCMakefile.html">CMakefile</a> &amp;Makefile, const int Section, const bool Multiline)</td></tr>
<tr class="memdesc:a076227951bd7f5e01db97e6e40eb5955"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates makefile rules for build unit dependencies.  <a href="#a076227951bd7f5e01db97e6e40eb5955">More...</a><br/></td></tr>
<tr class="separator:a076227951bd7f5e01db97e6e40eb5955"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fff8f942c388852af5b1a3ebd235d70"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a4fff8f942c388852af5b1a3ebd235d70">CDependencyInfo</a> (void)</td></tr>
<tr class="memdesc:a4fff8f942c388852af5b1a3ebd235d70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates build unit dependency database.  <a href="#a4fff8f942c388852af5b1a3ebd235d70">More...</a><br/></td></tr>
<tr class="separator:a4fff8f942c388852af5b1a3ebd235d70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1674b17fa54f4e53571ce9aac6abd88e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a1674b17fa54f4e53571ce9aac6abd88e">~CDependencyInfo</a> (void)</td></tr>
<tr class="memdesc:a1674b17fa54f4e53571ce9aac6abd88e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys build unit dependency database.  <a href="#a1674b17fa54f4e53571ce9aac6abd88e">More...</a><br/></td></tr>
<tr class="separator:a1674b17fa54f4e53571ce9aac6abd88e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a437ff774f21c51a187ad9a0b7ffbfa93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a437ff774f21c51a187ad9a0b7ffbfa93">ResetMarkers</a> (void)</td></tr>
<tr class="memdesc:a437ff774f21c51a187ad9a0b7ffbfa93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears <a class="el" href="../../dd/d0f/classCDependencyRecord.html#a0327e854ac8b0bc48eefe3155a84475e" title="Indicates that this unit was already walked through by a dependency unwinding process to avoid infini...">CDependencyRecord::m_Marker</a> for all records in <a class="el" href="../../dc/d5e/classCDependencyInfo.html#ad76c0932810b200455ce757da050cda2" title="Database of build unit dependencies. ">CDependencyInfo::m_Records</a>.  <a href="#a437ff774f21c51a187ad9a0b7ffbfa93">More...</a><br/></td></tr>
<tr class="separator:a437ff774f21c51a187ad9a0b7ffbfa93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ce43638906ad7dcc21f4ea8664ab34e"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a3ce43638906ad7dcc21f4ea8664ab34e">DependenciesCount</a> (<a class="el" href="../../dd/d0f/classCDependencyRecord.html">CDependencyRecord</a> *Record)</td></tr>
<tr class="memdesc:a3ce43638906ad7dcc21f4ea8664ab34e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of dependencies for a build unit pointed by <em>Record</em>.  <a href="#a3ce43638906ad7dcc21f4ea8664ab34e">More...</a><br/></td></tr>
<tr class="separator:a3ce43638906ad7dcc21f4ea8664ab34e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebc22dfe747ed1208ab4a16a396e7afb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#aebc22dfe747ed1208ab4a16a396e7afb">Dependencies</a> (<a class="el" href="../../dd/d0f/classCDependencyRecord.html">CDependencyRecord</a> *Record)</td></tr>
<tr class="memdesc:aebc22dfe747ed1208ab4a16a396e7afb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the list of file names of build units that a build unit pointed by <em>Record</em> depends on.  <a href="#aebc22dfe747ed1208ab4a16a396e7afb">More...</a><br/></td></tr>
<tr class="separator:aebc22dfe747ed1208ab4a16a396e7afb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f6a15907c7ccb90c9dc1466d565241f"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a2f6a15907c7ccb90c9dc1466d565241f">CrossReferencesCount</a> (<a class="el" href="../../dd/d0f/classCDependencyRecord.html">CDependencyRecord</a> *Record)</td></tr>
<tr class="memdesc:a2f6a15907c7ccb90c9dc1466d565241f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of cross references for a build unit pointed by <em>Record</em>.  <a href="#a2f6a15907c7ccb90c9dc1466d565241f">More...</a><br/></td></tr>
<tr class="separator:a2f6a15907c7ccb90c9dc1466d565241f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab93f959d3c0430039430a73562080b90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#ab93f959d3c0430039430a73562080b90">CrossReferences</a> (<a class="el" href="../../dd/d0f/classCDependencyRecord.html">CDependencyRecord</a> *Record)</td></tr>
<tr class="memdesc:ab93f959d3c0430039430a73562080b90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the list of file names of build units that depend on a build unit pointed by <em>Record</em>.  <a href="#ab93f959d3c0430039430a73562080b90">More...</a><br/></td></tr>
<tr class="separator:ab93f959d3c0430039430a73562080b90"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a6a7fb9ef5de03c0013ce3aa3774d469c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/d43/classCPlatform.html">CPlatform</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#a6a7fb9ef5de03c0013ce3aa3774d469c">m_Platform</a></td></tr>
<tr class="memdesc:a6a7fb9ef5de03c0013ce3aa3774d469c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Platform/OS type, generally used for creating compatible file paths.  <a href="#a6a7fb9ef5de03c0013ce3aa3774d469c">More...</a><br/></td></tr>
<tr class="separator:a6a7fb9ef5de03c0013ce3aa3774d469c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad76c0932810b200455ce757da050cda2"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="../../dd/d0f/classCDependencyRecord.html">CDependencyRecord</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5e/classCDependencyInfo.html#ad76c0932810b200455ce757da050cda2">m_Records</a></td></tr>
<tr class="memdesc:ad76c0932810b200455ce757da050cda2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Database of build unit dependencies.  <a href="#ad76c0932810b200455ce757da050cda2">More...</a><br/></td></tr>
<tr class="separator:ad76c0932810b200455ce757da050cda2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Dependency information for build units in a project. </p>
<p>Stores a database of build unit dependencies and cross references, searches and unwinds dependncies of a particular unit, writes makefile rules for unit dependencies. Generally speaking, <a class="el" href="../../dc/d5e/classCDependencyInfo.html" title="Dependency information for build units in a project. ">CDependencyInfo</a> tracks only dependencies between abstract names (strings), it doesn't really care whether those names are real file names or build units or not. The only exception to that is providing platform information to a dependency search filter like <a class="el" href="../../d2/d24/classCIncludeSearchFilter.html" title="Declares interface for gathering build unit dependencies from project files into build unit dependenc...">CIncludeSearchFilter</a> and its descendants for building compatible file paths. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a4fff8f942c388852af5b1a3ebd235d70"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::CDependencyInfo </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates build unit dependency database. </p>

</div>
</div>
<a class="anchor" id="a1674b17fa54f4e53571ce9aac6abd88e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::~CDependencyInfo </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroys build unit dependency database. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aeee41f5696f9e0952d0bb8cef3adf311"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::AddDependency </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;&#160;</td>
          <td class="paramname"><em>DependencyName</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds the <em>DependencyName</em> build unit to a dependency record with number <em>Index</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record of a build unit. </td></tr>
    <tr><td class="paramname">DependencyName</td><td>name of another build unit. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true, if <em>Index</em> is a valid number of a dependency record, <em>false</em> otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="a927accf24328efc443082b1cf967a01a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::AddDependency </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;&#160;</td>
          <td class="paramname"><em>Name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;&#160;</td>
          <td class="paramname"><em>DependencyName</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds the <em>DependencyName</em> build unit to a dependency record of the <em>Name</em> build unit. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Name</td><td>name of a build unit. </td></tr>
    <tr><td class="paramname">DependencyName</td><td>name of another build unit. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of a dependency record of the <em>Name</em> build unit. </dd></dl>

</div>
</div>
<a class="anchor" id="aae74e0642e410f1f2364908a6030f410"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::AddRecord </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;&#160;</td>
          <td class="paramname"><em>Name</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds a new dependency record for the <em>Name</em> build unit. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Name</td><td>name of a build unit. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number (index) of the new dependency record. </dd></dl>

</div>
</div>
<a class="anchor" id="ab07c351a53409894d86e9e10f7a70f7f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::AllCrossReferences </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a complete list of build unit names that depend on a build unit with dependency record number <em>Index</em> either directly or indirectly. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>list of build unit names. </dd></dl>

</div>
</div>
<a class="anchor" id="aaf613223ecfb1d5decf8b38cb067ae25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::AllCrossReferencesCount </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the total count of cross references of a build unit with dependency record number <em>Index</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>cross references count. </dd></dl>

</div>
</div>
<a class="anchor" id="a02419d86ae1e14504c8657fb2d62bb4c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::AllDependencies </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a complete list of build unit names that a build unit with dependency record number <em>Index</em> depends on directly or indirectly. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>list of build unit names. </dd></dl>

</div>
</div>
<a class="anchor" id="acd47e7cf24369dd634b509c6932f7dca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::AllDependenciesCount </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the total count of dependencies of a build unit with dependency record number <em>Index</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sum of direct and indirect dependencies. </dd></dl>

</div>
</div>
<a class="anchor" id="ae1ffc10e98443e562d6b8a8d7b1a869f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::AreCrossReferencesComplete </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Verifies if a cross reference list for a build unit with dependency record number <em>Index</em> is marked as complete. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><em>true</em> if a cross rference list is complete, <em>false</em> otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="a3325672b42de84d6043fe47c666350a0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::AreDependenciesComplete </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Verifies if a dependency list for a build unit with dependency record number <em>Index</em> is marked as complete. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><em>true</em> if a dependency list is complete, <em>false</em> otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="a900762f097ed041faa74613da4ea62c2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::Clear </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resets the unit dependency database to the initial state. </p>

</div>
</div>
<a class="anchor" id="ab93f959d3c0430039430a73562080b90"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::CrossReferences </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dd/d0f/classCDependencyRecord.html">CDependencyRecord</a> *&#160;</td>
          <td class="paramname"><em>Record</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the list of file names of build units that depend on a build unit pointed by <em>Record</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Record</td><td>dependency record of a build unit.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>list of file names. </dd></dl>

</div>
</div>
<a class="anchor" id="a2f6a15907c7ccb90c9dc1466d565241f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::CrossReferencesCount </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dd/d0f/classCDependencyRecord.html">CDependencyRecord</a> *&#160;</td>
          <td class="paramname"><em>Record</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the number of cross references for a build unit pointed by <em>Record</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Record</td><td>dependency record of a build unit.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>cross references count. </dd></dl>

</div>
</div>
<a class="anchor" id="aebc22dfe747ed1208ab4a16a396e7afb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::Dependencies </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dd/d0f/classCDependencyRecord.html">CDependencyRecord</a> *&#160;</td>
          <td class="paramname"><em>Record</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the list of file names of build units that a build unit pointed by <em>Record</em> depends on. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Record</td><td>dependency record of a build unit.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>list of file names. </dd></dl>

</div>
</div>
<a class="anchor" id="a3ce43638906ad7dcc21f4ea8664ab34e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::DependenciesCount </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dd/d0f/classCDependencyRecord.html">CDependencyRecord</a> *&#160;</td>
          <td class="paramname"><em>Record</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the number of dependencies for a build unit pointed by <em>Record</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Record</td><td>dependency record of a build unit.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>dependencies count. </dd></dl>

</div>
</div>
<a class="anchor" id="ac1182a8d99046fc6f735576d6b55fc73"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::DirectCrossReferences </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a list of build unit names that directly depend on a build unit with dependency record number <em>Index</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>list of build unit names. </dd></dl>

</div>
</div>
<a class="anchor" id="a4aa7031586c8dd2cc8dfa8ebc54dd9b2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::DirectCrossReferencesCount </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Counts direct cross references to a build unit with dependency record number <em>Index</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a build unit. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>cross references count. </dd></dl>

</div>
</div>
<a class="anchor" id="a00b6287cc4a978f8abfa2b1442175d24"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::DirectDependencies </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a list of build unit names that a build unit with dependency record number <em>Index</em> depends on directly. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>list of build unit names. </dd></dl>

</div>
</div>
<a class="anchor" id="a22150f25fecc523402af14ea5c57d104"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::DirectDependenciesCount </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Counts direct dependencies of a build unit with dependency record number <em>Index</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>dependencies count. </dd></dl>

</div>
</div>
<a class="anchor" id="ab3c71dc1906f859133771b4228b61c8e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::FindRecord </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;&#160;</td>
          <td class="paramname"><em>Name</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs dependency record lookup by a build unit name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Name</td><td>name of a build unit. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number (index) of the corresponding dependency record or -1 if no dependency record for the <em>Name</em> build unit is found. </dd></dl>

</div>
</div>
<a class="anchor" id="aa2a9f2ea3bc0e5f3b71603a477fc5619"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::IndirectCrossReferences </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a list of build unit names that indirectly depend on a build unit with dependency record number <em>Index</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>list of build unit names. </dd></dl>

</div>
</div>
<a class="anchor" id="a3a4c4419cf30712a16bb71b2f9c7a87c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::IndirectCrossReferencesCount </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Counts indirect cross references to a build unit with dependency record number <em>Index</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>cross references count. </dd></dl>

</div>
</div>
<a class="anchor" id="a51e609331ebc077d6eea5778fd8f8c8b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::IndirectDependencies </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a list of build unit names that a build unit with dependency record number <em>Index</em> depends on indirectly. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>list of build unit names. </dd></dl>

</div>
</div>
<a class="anchor" id="a918389de5c0c99a3e69026ea0176c89e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::IndirectDependenciesCount </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Counts only indirect dependencies of a build unit with number <em>Index</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a build unit. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>dependencies count.</dd></dl>
<p>Indirect dependencies are dependencies of all build units that selected build unit with number <em>Index</em> depends on excluding these units. </p>

</div>
</div>
<a class="anchor" id="a076227951bd7f5e01db97e6e40eb5955"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::MakeRules </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d0/d98/classCMakefile.html">CMakefile</a> &amp;&#160;</td>
          <td class="paramname"><em>Makefile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>Section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>Multiline</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generates makefile rules for build unit dependencies. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Makefile</td><td>a makefile object. </td></tr>
    <tr><td class="paramname">Section</td><td>number of makefile section. </td></tr>
    <tr><td class="paramname">Multiline</td><td>allows multi-line rules. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abd5a916dfc975667d25d9216d15a3ccf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::Name </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>)</td><td></td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns name of a build unit with dependency record number <em>Index</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>name of the build unit. </dd></dl>

</div>
</div>
<a class="anchor" id="ac2e36edc053c52d6fa9da19ef293e24b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::OneLineReport </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>Deps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>XRefs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a short string representation of dependency information. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number a dependency record. </td></tr>
    <tr><td class="paramname">Deps</td><td>enables output of dependencies. </td></tr>
    <tr><td class="paramname">XRefs</td><td>enables output of cross references. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string representation of dependency information. </dd></dl>

</div>
</div>
<a class="anchor" id="ae94f6374ec681801cc8304ad3e8a4f5e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::Platform </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Platform/OS type, generally used for creating compatible file paths. </p>
<dl class="section return"><dt>Returns</dt><dd>reference to <a class="el" href="../../dc/d5e/classCDependencyInfo.html#a6a7fb9ef5de03c0013ce3aa3774d469c" title="Platform/OS type, generally used for creating compatible file paths. ">CDependencyInfo::m_Platform</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="a844740f473781d070df0f41d0762eb2f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::RecordsCount </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the number of dependency records. </p>
<dl class="section return"><dt>Returns</dt><dd>dependency records count. </dd></dl>

</div>
</div>
<a class="anchor" id="a437ff774f21c51a187ad9a0b7ffbfa93"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::ResetMarkers </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Clears <a class="el" href="../../dd/d0f/classCDependencyRecord.html#a0327e854ac8b0bc48eefe3155a84475e" title="Indicates that this unit was already walked through by a dependency unwinding process to avoid infini...">CDependencyRecord::m_Marker</a> for all records in <a class="el" href="../../dc/d5e/classCDependencyInfo.html#ad76c0932810b200455ce757da050cda2" title="Database of build unit dependencies. ">CDependencyInfo::m_Records</a>. </p>
<p>This function should be called before unwinding a new dependency. </p>

</div>
</div>
<a class="anchor" id="a433798f74d8db352e22dd5e4fd1268af"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::SetCrossReferencesComplete </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>State</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Marks a cross reference list for a build unit with number <em>Index</em> as complete. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a build unit. </td></tr>
    <tr><td class="paramname">State</td><td>state of completeness. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aab60680f8f1c33981e9abe0ba132d744"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::SetDependenciesComplete </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>State</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Marks a dependency list for a build unit with dependency record number <em>Index</em> as complete. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a dependency record. </td></tr>
    <tr><td class="paramname">State</td><td>state of completeness. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a946c31a0b7bef21a5793e6b134978912"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::Show </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Print dependency information for all of build units to the standard output. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a6a7fb9ef5de03c0013ce3aa3774d469c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::m_Platform</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Platform/OS type, generally used for creating compatible file paths. </p>

</div>
</div>
<a class="anchor" id="ad76c0932810b200455ce757da050cda2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CDependencyInfo::m_Records</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Database of build unit dependencies. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/<a class="el" href="../../d8/d7f/depsearch_8h_source.html">depsearch.h</a></li>
<li>src/<a class="el" href="../../d4/d82/depsearch_8cpp.html">depsearch.cpp</a></li>
<li>src/doc/<a class="el" href="../../da/d24/depsearch_8dox.html">depsearch.dox</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 9 2013 10:56:00 for cbp2make by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.4
</small></address>
</body>
</html>
